package core

/*
#include <stdlib.h>
*/
import "C"

import (
	"strconv"

	sc "golang.org/x/text/encoding/simplifiedchinese"
)

func goString2CString(str string) *C.char {
	gbstr, _ := sc.GB18030.NewEncoder().String(str)
	return C.CString(gbstr)
}

func cStr2GoInt64(str *C.char) int64 {
	return Str2Int(goString2CString2GoString(str))
}

func Str2Int(str string) int64 {
	val, _ := strconv.ParseInt(str, 10, 64)
	return val
}

func goString2CString2GoString(str *C.char) string {
	utf8str, _ := sc.GB18030.NewDecoder().String(C.GoString(str))
	return utf8str
}
func cIntgoInt(ci C.int) int {
	return int(ci)
}

// UnescapeEmoji 将 [emoji=FFFFFFFF] 转化为 emoji的utf-8字符串
// func UnescapeEmoji(text string) string {
// 	data := []byte(text)
// 	ret := []byte{}
// 	skip := 0
// 	for i := range data {
// 		if skip > 1 {
// 			skip -= 1
// 			continue
// 		}
// 		if i+7 < len(data) && bytes.Equal(data[i:i+7], []byte("[emoji=")) {
// 			end := bytes.IndexByte(data[i:], byte(93))
// 			if end == -1 {
// 				return text
// 			}
// 			code, _ := hex.DecodeString(string(data[i+7 : end+i]))
// 			ret = append(ret, code...)
// 			skip = end + 1
// 		} else {
// 			ret = append(ret, data[i])
// 		}
// 	}
// 	return string(ret)
// }
